#ifndef _MISSILE_H_
#define _MISSILE_H_

#include "object.h"

class CL_Sprite;
class CL_SoundBuffer;

class Missile : public Object
{
// Construction
public:
	Missile(World *world, Object *owner);
	~Missile();

// Attributes
public:

// Operations
public:
	void setPos(int x, int y);
	void setAngle(float angle);
	void setSpeed(float speed);
	void move(float length);

	void draw();
	bool update(float timeElapsed);
	bool HitCheck(CL_CollisionOutline *outline, Object *with);

// Implementation:
private:
	CL_Sprite *spriteMissile;
	CL_Sprite *spriteExplosion;
	CL_SoundBuffer *sound;

	CL_Sprite *sprite;
	CL_CollisionOutline *collisionMissile;

	Object *owner;
	World *world;

	float angle;
	float speed;

	float posX;
	float posY;

	bool hidden;
	bool exploding;
};

#endif
